This invention relates to apparatus and methods for characterizing drawn segments, and particularly, to apparatus and methods for characterizing jagged segments.
An important class of computer programs includes computer aided design (CAD) tools and graphics illustration software. To create a drawing using a CAD layout or a graphics design software, users typically select one or more objects and place each object on a drawing sheet displayed by the software on a monitor or other suitable display device. Users can also edit and manipulate these objects to achieve the desired appearance. Application software normally supplies common symbols or objects such as squares, rectangles, circles, and ovals, among others, for the user to select and manipulate in creating at the design. Further, the software also typically provides tools to assist the user in drafting straight lines and curvilinear segments on the digital drawing.
The process of placing and editing the line or curve is generally a trial and error process, especially when the curve is made up of a number of corners or segments. Such attempts at drawing curves with multiple corners or segments generally result in a curve which looks noisy, the noise manifesting itself as a sequence of jagged curves, each of which is defined by begin and end points. The noise in the curve can be eliminated by suitable smoothing operations on the curve. However, such smoothing without regards to the corners of the drawn curve can distort the shape of the curve. These distortions include rounding of the corners and can be easily perceived by human observers.
To characterize the segment, the corners between segments and other objects need to be identified from the jagged, noisy curve. In conventional methods, the drawn segment is converted to a tangent angle/arc length form and filtered to detect corners and curvature discontinuities. One method for detecting corners is a step discontinuity method in which a linear filter is applied to the drawn segment and local tangent angles are determined for each point defining the segment. The rate of change of the local tangent values is also determined. When the angular change along the segment exceeds a predetermined threshold, a new corner is noted and the corner of the segment is established. The step discontinuity method is described in A. Blake, A. Zisserman, and A. V. Papoulias, "Weak continuity constraints generate uniform scale-space descriptions of plane curves," Proceedings of European Conference on Artificial Intelligence (ECAI), Brighton- England, pp. 518-528 (1986). Other systems for detecting discontinuities include systems that use regression to fit step-shaped templates to locally intensify the data, or alternatively, use regression globally across the data.
In characterizing the begin and end points of the segment, the determination of the local tangent angle for each point on the segment is quite important. If the determination of the local tangent angle between points is inaccurate or inconsistent, as may be the result of a noisily drawn segment in place of the intended smooth segment, the determination of corners of the curve or curvilinear segment may also be adversely affected.